home *** CD-ROM | disk | FTP | other *** search
- /* arg_math.c 23.1 */
- extern double atof(); /* Declaration */
-
- int error = 0;
-
-
- void main(argc, argv)
- int argc;
- char *argv[];
- {
- double result, value();
-
- if(argc != 4)
- printf("\nWrong Entry\nCall: number1 # number2\n");
- else
- {
- result = value(argv[1], argv[2], argv[3]);
- if(!error)
- printf("\n%s %s %s = %.9lf\n", argv[1], argv[2], argv[3], result);
- }
- }
-
- double value(num1, op, num2)
- char *num1, *op, *num2;
- {
- double z1 = atof(num1);
- double z2 = atof(num2);
-
- switch(*op) /* only the first character */
- {
- case '/':
- return(z1 / z2);
- case '*':
- return(z1 * z2);
- case '-':
- return(z1 - z2);
- case '+':
- return(z1 + z2);
- default:
- printf("\nUnknown Operator >%s<\n", 7, op);
- error = 1;
- return(0.0);
- }
- }
-
-